/**
 * 插入排序 
 */
#include <stdio.h>
#include "util.c"

void insert_sort_d(int *, int); /* "直接插入排序" */

void insert_sort(int *, int); /* "二分折半插入排序"函数接口 */

static int binary_search(int *, int); /* 二分查找函数接口 */


int main(int argc, const char *argv[])
{
    int array[] = {3,2,5,9,0,1,1,2};
    int len = sizeof(array) / sizeof(int);
    print_array(array, len);
    insert_sort_d(array, len);
    //print_array(array, len);

    return 0;
}

/**
 * 直接插入排序实现
 */
void insert_sort_d(int *_array, int _len)
{
    int i,p,j;
    for (i = 1; i < _len; ++i)
    {
        p = _array[i]; /* 当前待插入元素 */
        for (j = i; j > 0; --j)
        {
            /* 向前搜索查询"p"的位置，搜索过程中移动数组 */
            if (p <= _array[j - 1]) _array[j] = _array[j - 1];
            else break;
        }
        _array[j] = p; /* j为最终"p"的位置 */
    }
}


static int binary_search(int *_array, int _key)
{



    return 0;
}

void insert_sort(int *_array, int _len)
{

}